﻿//*** Guidance generated code ***//
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;

namespace $safeprojectname$.Web
{
    /// <summary>
    ///     EntityController (or other custome one) uses this interface to
    ///     Store and ReStore data among many requests
    /// </summary>
    public interface IStateObject
    {
        /// <summary>
        ///     The core implementation of the EntityController
        ///     Stores and Restores filtering parameters in/from session
        ///     to keep the latest user's filter settings.
        ///     Application can therefore provide rich UI elemnts even without viewstate.
        /// </summary>
        IFilter FilterParam { get; set; }

        /// <summary>
        ///     Container for any other data to be stored and restored for the 'Controller-User' purposes
        /// </summary>
        IDictionary<string, object> OtherElements { get; set; }
    }
}